package LeetCode_145;

import java.util.ArrayList;
import java.util.List;

/**
 * @author : niu niu
 * @version : 1.0.0
 * @date : 2022/10/24 20:55
 */
public class Solution {
//    public List<Integer> postorderTraversal(TreeNode root) {
//        List<Integer> ans = new ArrayList<Integer>();
//        if (root == null){
//            return ans;
//        }
//        //处理左
//        ans.addAll(postorderTraversal(root.left));
//        //处理右
//        ans.addAll(postorderTraversal(root.right));
//        //根
//        ans.add(root.val);
//        return ans;
//    }
    public List<Integer> postorderTraversal(TreeNode root) {
        List<Integer> ans = new ArrayList<>();// // 这样只会有一个对象存在
        postInternal(root, ans);
        return ans;
    }

    private void postInternal(TreeNode root, List<Integer> ans) {
        if (root == null) {
            return;
        }

        postInternal(root.left, ans);
        postInternal(root.right, ans);
        ans.add(root.val);
    }
}
